package com.koocloud.electroplatemanage.auth.service;


import com.koocloud.electroplatemanage.pojo.Permission;
import com.koocloud.electroplatemanage.pojo.Role;
import com.koocloud.electroplatemanage.pojo.User;

import java.util.List;
import java.util.Map;



public interface IUserService {

	Integer addUser(String userName,String password,String fullName,String jobNum,String regPhone,String superiorId,String departmentId);

	Integer updateUser(String id, String userName,String password,String jobNum,String fullName,String regPhone,String superiorId,String departmentId);

	List<User> selectUser(String idOrName);

	Integer deleteUser(String id,int enableFlag);

	Map<String, Object> selectRoleList(String id);

	Boolean insertRoleList(String id, String hasRoleList);

	Map<String, Object> selectAuthList(String id);

	Integer insertUser(User user);

	User selectUserByToken(String token);

	User selectUserById(int id);

	
	Integer updateUserPassword(int id, String md5);

	Integer resetPassword(int id, String md5);

	List<Map<String, Object>> selectUserByName(String userName);

	Map<String, Object> selectAuthListById(String id);

	List<Role> selectRoleListByUserId(int id);

	List<Permission> selectAuthListById2(String id);

	Integer addUserInfo(String id, String userName, String md5);

    List<User> selectOrganizationStruct();

    List<User> maintainOrganizationStruct(String userName);

    List<User> getSuperiorLeaderIds(long id);

	List<User> getUserOrderByDepartment();

}
